Product : ISaGRAF V3

Date    : 25-July-1997

File    : Wbstdlib.where standard F and FB are defined in the ISaGRAF Workbench.htm

Subject : where standard Functions and Function Blocks are defined in the ISaGRAF Workbench?

Keywords: Standard function - standard function block - function

          function block

____________________________________________________________________

The definition is done through the following files:

- isawin\exe\isa.lib

- isawin\exe\isa.smb

(isawin stands for the initial installation directory)

____________________________________________________________________

1) Integration in isa.lib:

 

the syntax is as following (without any blank):

 

{ID=proc_number:proc_name

# param_type direction param_name

# param_type direction param_name

# param_type direction param_name

..................

..................

}

 

With:

 

ID:

F for a function

B for a function block

 

proc_number:

Logical number.

 

For a function, It corresponds to the procedure number used in

the kernel call entry point. Therefore it makes the link between

the procedure name and its corresponding code in the kernel.

The maximum value is 255.

For a block, this number is used within the kernel core.

It does not directly correspond to the kernel call entry point.

The link between the Fbl procedure name, its number and its

corresponding code in the kernel is done at run time.

The maximum value is 255, but is limited for the moment to 40

by the target kernel.

 

proc_name:

Procedure name (case sensitive for display)

 

 

param_type:

Parameter type. It can be:

B for Boolean

A for Analog

R for Real

M for Message

T for Timer

 

direction:

< for Input

> for output

 

There is only one output in a function. For both functions or

function blocks, output(s) must be placed at the end

 

param_name:

Name of the parameter (case sensitive for display).

----------------------------------------------------------------

2) Integration in isa.smb for functions:

 

The syntax is as following (without any blank):

 

!--------------------- USF: XXX --------------------------

#F,INTERN,out_type,G,R,proc_name,O,nb_in,in_types,STD,proc_nber

 

With:

 

out_type:

Output parameter type. It can be:

BOOLEAN

INTEGER

REAL

MESSAGE

TIMER

 

proc_name:

Procedure name (in upper case)

 

nb_in:

Number of inputs

 

in_types:

List of input types (same order as isa.lib). It can be

BOOLEAN

INTEGER

REAL

MESSAGE

TIMER

 

proc_nber:

Procedure number (same as isa.lib)

----------------------------------------------------------------

3) Integration in isa.smb for function blocks:

 

The syntax is as following (without any blank):

 

!--------------------- FBL_NAME --------------------------

Inputs definitions:

#P,INTERN,param_type,L,W,in_name,O,PARAM

.......

.......

.......

outputs definitions:

#P,INTERN,param_type,L,R,out_name,O,PARAM

.......

.......

.......

Block definition:

#B,INTERN,NIL,G,F,fbl_name,O,nb_in,param_names,STD

 

With:

 

param_type:

Parameter type. It can be:

BOOLEAN

INTEGER

REAL

MESSAGE

TIMER

 

in_name:

Input parameter name. Always composed of the Fbl name:

fbl_name.input_name (in upper case)

 

out_name:

Output parameter name. Always composed of the Fbl name:

fbl_name.output_name (in upper case)

 

fbl_name:

Function Block name (in upper case)

 

nb_in:

Number of inputs

 

param_names:

List of the previously defined parameters: in_name(s),

out_name(s).

----------------------------------------------------------------

Copyright © 1996-2009 ICS Triplex ISaGRAF Inc. All rights reserved.